package io.sdl.common.sys.service;

import io.sdl.common.service.CrudService;
import io.sdl.common.sys.dto.SdlMessageReadStatusDTO;
import io.sdl.common.sys.entity.SdlMessageReadStatusEntity;
import io.sdl.common.utils.PageUtils;

import java.util.List;
import java.util.Map;

/**
 * 消息已读状态表
 *
 * @author Dchen
 * @email 1211734836@qq.com
 * @date 2025-05-12 09:29:35
 */
public interface SdlMessageReadStatusService extends CrudService<SdlMessageReadStatusEntity, SdlMessageReadStatusDTO> {

    //插入新的未读记录
    void addUnreadRecord(Long messageId, Integer messageType, Long receiverId);

    //标记消息为已读
    void markAsRead(Long messageId, Integer messageType, Long receiverId);

    //获取未读消息数量
    Integer getUnreadCount(Integer messageType, Long receiverId);

    // 获取未读消息列表
    List<SdlMessageReadStatusDTO> getUnreadMessageIds(Integer messageType, Long receiverId);
}

